package com.cx.test;

import com.sun.org.apache.bcel.internal.generic.NEW;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;

/**
 * @author zhangshuai
 * @version V1.0
 * @Project Java2_26
 * @Package com.cx.test
 * @Description:
 * @Date 2025/5/20 14:49
 */

public class Demo1 {
    public static void main(String[] args) {

        Object o = new Object();
    }
}
class Person{
    private String name;
    private int age;
    public Person() {


    }

   /* @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age && Objects.equals(name, person.name);
    }*/
    @Override
    public boolean equals(Object o) {
        if(this == o) return true;
        // 判断对象o是否为null，或者当前对象的类是否与对象o的类相同，如果不同则返回false
        if(o==null||getClass()!=o.getClass()) return false;
        // 将对象o转换为Person类型
        Person person = (Person) o;
        // 比较当前对象的name和age字段是否与对象o的name和age字段相等，如果相等则返回true，否则返回false
        return age == person.age && Objects.equals(name, person.name);
    }

   /* @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }*/

   /* @Override
    public int hashCode() {
        // 定义一个常量prime，值为31
 final int prime = 31;
 // 定义一个变量result，初始值为1
        int result = 1;
 // 将result乘以prime，再加上age的值
        result = prime * result + age;
 // 将result乘以prime，再加上name的hashCode值，如果name为null，则加上0
        result = prime * result + ((name == null) ? 0 : name.hashCode());
 // 返回result
        return result;
    }*/
    //重写hashCode方法

    public int hashCode() {
        // 定义一个常量prime，值为31
        final int prime = 31;
        // 定义一个变量result，初始值为1
        int result = 1;
        // 将result乘以prime，再加上age的值
        result = prime * result + age;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        // 返回result
        return result;
    }

    String str = "123";

    public static void main(String[] args) {
        String s = String.valueOf(new int[]{1, 2, 3});
        StringBuffer sb = new StringBuffer("123");
        StringBuilder sb1 = new StringBuilder("123");
        List<Object> list = new ArrayList<>();
        HashMap<Object, Object> map = new HashMap<>();

    }
    


}